'\" t
.\"     Title: IPSEC_SPIGRP
.\"    Author: Paul Wouters
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\"      Date: 12/16/2012
.\"    Manual: Executable programs
.\"    Source: libreswan
.\"  Language: English
.\"
.TH "IPSEC_SPIGRP" "8" "12/16/2012" "libreswan" "Executable programs"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ipsec_spigrp \- group/ungroup IPSEC Security Associations
.SH "SYNOPSIS"
.HP \w'\fBipsec\fR\ 'u
\fBipsec\fR \fIspigrp\fR
.br
\fIipsecspigrp\fR [\-\-label\ \fIlabel\fR] \fIaf1dst1spi1proto1\fR [\fIaf2dst2spi2proto2\fR\ [\fIaf3dst3spi3proto3\fR\ [\fIaf4dst4spi4proto4\fR]]]
.br
\fIipsecspigrp\fR [\-\-label\ \fIlabel\fR] \-\-said \fISA1\fR [\fISA2\fR\ [\fISA3\fR\ [\fISA4\fR]]]
.br
\fIipsecspigrp\fR \-\-help
.br
\fIipsecspigrp\fR \-\-version
.br

.SH "OBSOLETE"
.PP
Note that spi is only supported on the classic KLIPS stack\&. It is not supported on any other stack and will be completely removed in future versions\&. A replacement command still needs to be designed
.SH "DESCRIPTION"
.PP
\fISpigrp\fR
groups IPSEC Security Associations (SAs) together or ungroups previously grouped SAs\&. An entry in the IPSEC extended routing table can only point (via a destination address, a Security Parameters Index (SPI) and a protocol identifier) to one SA\&. If more than one transform must be applied to a given type of packet, this can be accomplished by setting up several SAs with the same destination address but potentially different SPIs and protocols, and grouping them with
\fIspigrp\fR\&.
.PP
The SAs to be grouped, specified by destination address (DNS name lookup, IPv4 dotted quad or IPv6 coloned hex), SPI (\*(Aq0x\*(Aq\-prefixed hexadecimal number) and protocol ("ah", "esp", "comp" or "tun"), are listed from the inside transform to the outside; in other words, the transforms are applied in the order of the command line and removed in the reverse order\&. The resulting SA group is referred to by its first SA (by
\fIaf1\fR,
\fIdst1\fR,
\fIspi1\fR
and
\fIproto1\fR)\&.
.PP
The \-\-said option indicates that the SA IDs are to be specified as one argument each, in the format <proto><af><spi>@<dest>\&. The SA IDs must all be specified as separate parameters without the \-\-said option or all as monolithic parameters after the \-\-said option\&.
.PP
The SAs must already exist and must not already be part of a group\&.
.PP
If
\fIspigrp\fR
is invoked with only one SA specification, it ungroups the previously\-grouped set of SAs containing the SA specified\&.
.PP
The \-\-label option identifies all responses from that command invocation with a user\-supplied label, provided as an argument to the label option\&. This can be helpful for debugging one invocation of the command out of a large number\&.
.PP
The command form with no additional arguments lists the contents of /proc/net/ipsec_spigrp\&. The format of /proc/net/ipsec_spigrp is discussed in ipsec_spigrp(5)\&.
.SH "EXAMPLES"
.PP
\fBipsec spigrp inet gw2 0x113 tun inet gw2 0x115 esp inet gw2 0x116 ah\fR
.RS 4
groups 3 SAs together, all destined for
\fBgw2\fR, but with an IPv4\-in\-IPv4 tunnel SA applied first with SPI
\fB0x113\fR, then an ESP header to encrypt the packet with SPI
\fB0x115\fR, and finally an AH header to authenticate the packet with SPI
\fB0x116\fR\&.
.RE
.PP
\fBipsec spigrp \-\-said tun\&.113@gw2 esp\&.115@gw2 ah\&.116@gw2\fR
.RS 4
groups 3 SAs together, all destined for
\fBgw2\fR, but with an IPv4\-in\-IPv4 tunnel SA applied first with SPI
\fB0x113\fR, then an ESP header to encrypt the packet with SPI
\fB0x115\fR, and finally an AH header to authenticate the packet with SPI
\fB0x116\fR\&.
.RE
.PP
\fBipsec spigrp \-\-said tun:233@3049:1::1 esp:235@3049:1::1 ah:236@3049:1::1\fR
.RS 4
groups 3 SAs together, all destined for
\fB3049:1::1,\fR
but with an IPv6\-in\-IPv6 tunnel SA applied first with SPI
\fB0x233\fR, then an ESP header to encrypt the packet with SPI
\fB0x235\fR, and finally an AH header to authenticate the packet with SPI
\fB0x236\fR\&.
.RE
.PP
\fBipsec spigrp inet6 3049:1::1 0x233 tun inet6 3049:1::1 0x235 esp inet6 3049:1::1 0x236 ah\fR
.RS 4
groups 3 SAs together, all destined for
\fB3049:1::1,\fR
but with an IPv6\-in\-IPv6 tunnel SA applied first with SPI
\fB0x233\fR, then an ESP header to encrypt the packet with SPI
\fB0x235\fR, and finally an AH header to authenticate the packet with SPI
\fB0x236\fR\&.
.RE
.SH "FILES"
.PP
/proc/net/ipsec_spigrp, /usr/local/bin/ipsec
.SH "SEE ALSO"
.PP
ipsec(8), ipsec_manual(8), ipsec_tncfg(8), ipsec_eroute(8), ipsec_spi(8), ipsec_klipsdebug(8), ipsec_spigrp(5)
.SH "HISTORY"
.PP
Written for the Linux FreeS/WAN project <\m[blue]\fBhttp://www\&.freeswan\&.org/\fR\m[]> by Richard Guy Briggs\&.
.SH "BUGS"
.PP
Yes, it really is limited to a maximum of four SAs, although admittedly it\*(Aqs hard to see why you would need more\&.
.SH "AUTHOR"
.PP
\fBPaul Wouters\fR
.RS 4
placeholder to suppress warning
.RE
